package com.boot2.core.dao.jpa;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;


/**
 * @author zhangweilin
 * @ClassName: Criterion
 * @description: 条件接口 用户提供条件表达式接口
 * @date 2017年12月27日 上午11:13:42
 */
public interface Criterion {
    enum Operator {
        EQ, NE, IN, LIKE, GT, LT, GTE, LTE, AND, OR, BETWEEN
    }

    Predicate toPredicate(Root<?> root, CriteriaQuery<?> query, CriteriaBuilder builder);
}